package com.xcrj.java8.stream;

import java.util.List;
import java.util.stream.Collectors;
import java.util.ArrayList;

/**
 * stream()/parallelStream()操作将集合打散成1个个元素，后面可以对每个元素进行操作
 * map():
 * filter():
 * ...sql中能有的操作，流式编程基本都有...
 */
public class Test1 {
    public static void main(String[] args) {
        test1();
        test2();
    }

    public static void test1() {
        List<String> list=new ArrayList<>();
        list.add("java");
        list.add("python");
        list.add("golang");
        list.add("c++");

        // 串行流
        List<String> list2=list.stream().map(String::toUpperCase).collect(Collectors.toList());
        // forEach迭代
        list2.forEach(System.out::println);
    }

    public static void test2() {
        List<String> list=new ArrayList<>();
        list.add("java");
        list.add("python");
        list.add("golang");
        list.add("c++");

        // 并行流
        List<String> list2=list.parallelStream().map(String::toUpperCase).collect(Collectors.toList());
        // forEach迭代
        list2.forEach(System.out::println);
    }
}
